Burned Area · Fire Severity · RED & NIR

BAI – Burned Area Index

BAI (Burned Area Index) enhances burned surfaces using the contrast between red and near-infrared reflectance. It is particularly sensitive to char and ash-covered areas after fire events.
مؤشر BAI (Burned Area Index) لتمييز المناطق المحترقة بالاعتماد على الفرق في الانعكاس بين الحزمة الحمراء والحزمة تحت الحمراء القريبة (NIR)، حيث تظهر المناطق المحترقة بقيم عالية مقارنةً بالغطاء النباتي السليم.

1. Scientific Definition

The Burned Area Index (BAI) uses the spectral distance between a pixel and an "ideal" burned surface in the RED–NIR space. Burned areas tend to have high reflectance in red and low reflectance in NIR, which makes them stand out from healthy vegetation (low red, high NIR).

Formula

The original BAI definition (Chuvieco et al.) is:

BAI = 1 / [ (RED − 0.1)² + (NIR − 0.06)² ] Higher BAI → higher probability of burned area

  • RED – surface reflectance in red band
  • NIR – surface reflectance in near-infrared band

Typical Interpretation

BAI (relative values)Interpretation
Low Healthy vegetation / water / non-burned surfaces
Moderate Mixed pixels, partially burned, or dry vegetation
High Strong burned signal (char, ash, severely burned areas)

BAI is not normalized (no fixed min/max). Thresholds should be derived empirically using pre/post-fire imagery and reference polygons for burned / unburned areas.

Main Applications

  • Burned area mapping after wildfires
  • Supporting burn severity and recovery analysis
  • Complementing NBR / NBR2 and NDVI in fire studies

2. Data & Bands

Sentinel-2 (Recommended)

  • RED: B4 (~665 nm)
  • NIR: B8 (~842 nm)
  • Use surface reflectance (S2_SR) and cloud masking.

Landsat 8 / 9

  • RED: B4
  • NIR: B5

Landsat 5 TM / 7 ETM+

  • RED: B3
  • NIR: B4

Best Practices

  • Use atmospherically corrected surface reflectance products.
  • Mask clouds and cloud shadows before computing BAI.
  • Combine BAI with NBR / NBR2 and pre/post-fire difference images.
  • Calibrate thresholds using ground truth or high-resolution imagery.

Suggested Palette

[ "#0b1120", "#1f2937", "#4b5563", "#f97316", "#facc15", "#fef9c3" ]

3. Google Earth Engine Code – BAI (Burned Area Index)

// BAI – Burned Area Index using Sentinel-2 SR
// BAI = 1 / [ (RED - 0.1)^2 + (NIR - 0.06)^2 ]
// Here: RED = B4, NIR = B8

var roi = geometry;   // Draw AOI as 'geometry'
Map.centerObject(roi, 11);

// 1. Load Sentinel-2 surface reflectance
var s2 = ee.ImageCollection("COPERNICUS/S2_SR")
  .filterBounds(roi)
  .filterDate("2023-01-01", "2023-12-31")
  .filter(ee.Filter.lt("CLOUDY_PIXEL_PERCENTAGE", 20))
  .select(["B4","B8"]); // RED, NIR

// 2. Median composite
var img = s2.median().clip(roi);

// 3. Compute BAI
var bai = img.expression(
  "1.0 / ( (R - 0.1) * (R - 0.1) + (N - 0.06) * (N - 0.06) )",
  {
    "R": img.select("B4"),  // RED
    "N": img.select("B8")   // NIR
  }
).rename("BAI");

// 4. Visualization
// Note: BAI is not bounded. Adjust min/max after checking histogram.
var vis = {
  min: 0,
  max: 500,  // example; tune using bai.reduceRegion/histogram
  palette: ["#0b1120","#1f2937","#4b5563","#f97316","#facc15","#fef9c3"]
};

Map.addLayer(bai, vis, "BAI – Burned Area Index");

// Optional: simple burned mask – adjust threshold after exploring data
var burned = bai.gt(150).selfMask();  // example threshold
Map.addLayer(
  burned,
  {palette:["#f97316"]},
  "High BAI (burned candidate)",
  false
);

// 5. Export BAI as GeoTIFF
Export.image.toDrive({
  image: bai,
  description: "BAI_Sentinel2",
  fileNamePrefix: "BAI_BurnedArea_S2",
  region: roi,
  scale: 10,        // use NIR/RED native resolution
  crs: "EPSG:4326",
  maxPixels: 1e13
});